
var ProjectShareTable = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        var url="/projectShareController/getTableData";
        var columns=switchType().columns;
        $('#dataTable').bootstrapTable({
            url: url,         //请求后台的URL（*）
            method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）,这里对应的是一个javascript的function方法
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 30,                       //每页的记录行数（*）
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 550,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "id",        //每一行的唯一标识，一般为主键列
            showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns:columns
        });
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var projectId = $("#projectId").val();
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            pageSize: params.limit,   //页面大小
            pageNo: params.offset,  //页码
            shareType:shareType,
            projectId:projectId
        };
        return temp;
    };
    return oTableInit;
};

var ProjectShareButtonInit = function () {
    var oInit = new Object();
    oInit.Init = function () {
        $("#btn_add").click(function () {
            var projectId=$("#projectId").val();
            window.location.href = "/projectShareController/editProjectSharePage?pageName="+pageName+"&projectId="+projectId;
        });
        $("#btn_edit").click(function () {
            var arrselections = $("#dataTable").bootstrapTable('getSelections');
            if (arrselections.length > 1) {
                toastr.warning('只能选择一行进行编辑');
                return;
            }
            if (arrselections.length <= 0) {
                toastr.warning('请选择一条数据进行修改');
                return;
            }
            var shareType =$("#shareType").val();
            window.location.href =
                "/projectShareController/editProjectSharePage?id=" + arrselections[0].id+"&pageName="+pageName+"&shareType="+shareType;
        });

        $("#btn_delete").click(function () {
            var arrselections = $("#dataTable").bootstrapTable('getSelections');
            if (arrselections.length <= 0) {
                toastr.warning('请选择有效数据');
                return;
            }


            $.ajax({
                type: "post",
                url: "/projectShareController/deleteProjectShareCheck",
                data: {id: arrselections[0].id,shareType:shareType},
                success: function (result) {
                    if(result.success){
                        deleteProjectShare(arrselections[0].id,shareType)
                    }else {
                        Ewin.confirm({message: result.msg}).on(function (e) {
                            if (!e) {
                                return;
                            }
                            deleteProjectShare(arrselections[0].id,shareType)
                        });
                    }
                }})
        });

        $("#btn_query").click(function () {
            $("#dataTable").bootstrapTable('refresh');
        });
        $("#btn_back").click(function () {
            window.location.href="/projectController/projectPage"
        })
    };
    return oInit;
};
function deleteProjectShare(id,shareType) {
    $.ajax({
        type: "post",
        url: "/projectShareController/deleteProjectShare",
        data: {id: id,shareType:shareType},
        success: function (result) {
            if (result.success) {
                toastr.success('删除数据成功');
                $("#dataTable").bootstrapTable('refresh');
            } else {
                toastr.error(result.msg)
            }
        },
        error: function () {
            toastr.error('Error');
        },
        complete: function () {

        }

    });
}
var pageName;
/**通过页面类型获取展示的列名**/
function switchType(){
    var obj ={};
    var url;
    var columns;
    switch (shareType){
        case 1:
            url="/projectController/getMember";
            pageName="ProjectMemberPage";
            columns=[
                {
                    checkbox:true
                },
                {
                    field: 'userId',
                    title: "用户id"
                }, {
                    field: 'userName',
                    title: '用户名'
                }
            ];
            break;
        case 2:
            url="/projectController/getHost";
            pageName="ProjectHostPage";
            columns=[
                {
                    checkbox: true
                },{
                field: 'ip',
                title: 'ip'
                },
                {
                    field:"domain",
                    title:"域名"
                }
            ];
            break;
        case 3:
            url="/projectController/getModule";
            pageName="ProjectModulePage";
            columns=[
                {checkbox:true},{
                    field: 'moduleName',
                    title: '模块名称'
                }];
            break;
    }
    obj.url =url;
    obj.columns=columns;
    return obj;
}
